home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)zh.d64 / src.irq0 < prev    next >
Text File  |  2007-03-01  |  1KB  |  127 lines

  1. ;
  2. ;--------------------------------;
  3. ;                                ;
  4. ; SRC.IRQ0 - A COMAL MODULE      ;
  5. ;            PRERELEASE          ;
  6. ;                                ;
  7. ; DUTCH COMAL USERS GROUP        ;
  8. ;                                ;
  9. ; 860325                         ;
  10. ;                                ;
  11. ;--------------------------------;
  12. ;                                ;
  13.        .OPT NOLIST, ERRORS
  14.  .LIB SYMBOLS
  15. ;
  16. *=$7F00
  17. ;
  18.  .BYTE C64
  19.  .WORD END
  20.  .WORD SIGNAL
  21. ;
  22.  .BYTE 3,'IRQ'
  23.  .WORD PROCS,INIT
  24.  .BYTE 0
  25. ;
  26. PROCS
  27.  .BYTE 9,'COUNTDOWN'
  28.  .WORD PCCNT
  29.  .BYTE 8,'GETCOUNT'
  30.  .WORD PCGCNT
  31.  .BYTE 5,'GOIRQ'
  32.  .WORD PCGO
  33.  .BYTE 0
  34. ;
  35. PCCNT
  36.  .BYTE PROC
  37.  .WORD MCCNT
  38.  .BYTE 1
  39.  .BYTE INT+VALUE
  40.  .BYTE ENDPRC
  41. ;
  42. PCGCNT
  43.  .BYTE FUNC+INT
  44.  .WORD MCGCNT
  45.  .BYTE 0
  46.  .BYTE ENDFNC
  47. ;
  48. PCGO
  49.  .BYTE PROC
  50.  .WORD MCGO
  51.  .BYTE 0
  52.  .BYTE ENDPRC
  53. ;
  54. SIGNAL
  55.  SEI
  56.  CPY #LINK
  57.  BNE NXT1
  58.  LDX CINV
  59.  LDA CINV+1
  60.  STX OLD
  61.  STA OLD+1
  62. NXT1
  63.  CPY #DSCRD
  64.  BNE NXT2
  65.  LDX OLD
  66.  LDA OLD+1
  67.  STX CINV
  68.  STA CINV+1
  69. NXT2
  70.  CLI
  71.  RTS
  72. ;
  73. INIT
  74.  SEI
  75.  LDX #<IRQ
  76.  LDA #>IRQ
  77.  STX CINV
  78.  STA CINV+1
  79.  LDA EXCINF
  80.  ORA #$20
  81.  STA EXCINF
  82.  CLI
  83.  RTS
  84. ;
  85. MCCNT
  86.  LDA #1
  87.  JSR FNDPAR
  88.  LDY #0
  89.  LDA (COPY1),Y
  90.  STA CNT
  91.  INY
  92.  LDA (COPY1),Y
  93.  STA CNT+1
  94.  RTS
  95. ;
  96. MCGCNT
  97.  LDA CNT
  98.  LDY CNT+1
  99.  JSR INTFP
  100.  JMP PUSHA1
  101. ;
  102. MCGO
  103.  LDA EXCINF
  104.  ORA #$04
  105.  STA EXCINF
  106.  RTS
  107. ;
  108. IRQ
  109.  LDA CNT
  110.  BMI SKIP1
  111.  DEC CNT+1
  112.  LDA CNT+1
  113.  CMP #255
  114.  BNE SKIP1
  115.  DEC CNT
  116.  BPL SKIP1
  117.  LDA EXCINF
  118.  ORA #$04
  119.  STA EXCINF
  120. SKIP1
  121.  JMP (OLD)
  122. ;
  123. OLD *=*+2
  124. CNT *=*+2
  125. ;
  126. END .END
  127.